Systems and methods for discerning and controlling communication traffic

ABSTRACT

Communication traffic redirection systems and methods are disclosed that allow for redirection of communication traffic over the Internet based, at least in part, on the type of higher-level communication protocol intended to be used. The systems and methods permit redirection of only certain types of communication traffic of interest, for example HTTP traffic, while permitting other types of communication, for example SMTP traffic, to pass without redirection. The systems and method can employ a training and dynamic feedback procedure to ensure only traffic of interest is redirected. The systems and methods provide efficient redirection of specific types of traffic to redirect landing pages, and allow for efficient methods of generating revenue through advertising.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. application Ser.No. 12/161,093 which is a U.S. national stage application ofPCT/US2007/001523, filed 19 Jan. 2007. The application relies on thedisclosure of and claims the benefit of the filing date of U.S.provisional patent application No. 60/760,366, filed 20 Jan. 2006. Theentire disclosures of all of these applications are hereby incorporatedherein in their entireties by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to identifying various types ofcommunication traffic and controlling movement of that traffic within acommunications network. More specifically, the present invention relatesto systems and methods for identifying protocols associated or intendedto be associated with a particular communication, and providingservices, such as redirection services, based on the type of protocol.The systems and methods rely, in part, on the ability to identify orpredict particular protocols based on hostnames, and to redirect certaincommunications, but not others, based on the protocol associated withthe communication.

2. Background of the Invention

One power of the Internet is the ability to connect two computers ingeographically distant areas. Often, a computer user knows the preciseIP Address of a computer with which he would like to connect. In such asituation, the user will submit the IP Address to the Internetinfrastructure, and be connected directly to the desired computer.

Typically however, computer users do not know the actual IP Address ofthe computer they wish to contact. Rather, they know the name, in ahuman language, of the web page or e-mail address they wish to contact.In such a situation, they cannot connect directly to the computer ofinterest, but must rely on the network or Internet infrastructure toprovide them the correct IP Address and make a connection to the targetcomputer using a search and connect strategy. In general under suchcircumstances, information is transmitted through computer systems, suchas networks and the Internet, from one user to another by way of aseries of designated transfer point computers referred to as servers.The key server type in transmittal of information through networks isthe domain name system server, or DNS server (used as an abbreviationfor both the singular and plural). There are two main types of DNSservers: authoritative DNS and caching/recursive DNS. Authoritative DNSservers contain, among other things, a mapping of host names (typicallyhuman recognizable character strings) and Internet Protocol (IP)Addresses within their own particular domains. They supply a specific IPAddress of a computer in their domain upon request from another computer(its client) in order to enable one computer to contact another. Incontrast, caching/recursive DNS servers do not initially know IPAddresses of specific users' computers. Rather, caching/recursive DNSservers know how to find Authoritative DNS servers that have the name toIP Address mapping data. When a caching/recursive DNS server receives arequest for an IP Address from a client, it contacts Authoritative DNSservers to identify the specific Authoritative DNS that knows theparticular IP Address of interest to its client. Upon identifying properauthoritative DNS server, the caching/recursive DNS server contacts oneor more of those, and obtains the IP Address of interest. Thecaching/recursive DNS server then returns the IP Address to its clientso that a connection between the client and the computer at that IPAddress can be made.

In a common scenario, the user types into the Internet browser residenton his personal computer a particular web site of interest in the formof a Uniform Resource Locator (URL; e.g., hypertext transferprotocol-colon-double slash-www-dot-paxfire-dot-com). The browser on theuser's computer sends a request to a caching/recursive DNS server(typically a DNS owned and/or operated by his ISP; also referred toherein simply as a DNS server) to convert the host/domain name to an IPAddress for it. The caching/recursive DNS server, if it knows thisinformation from a previous lookup (hence the term “caching” is used),will supply it to the user's browser, and a connection between the twocomputers is made. If it does not know this information, it makes arequest to an Authoritative DNS server to begin the process of queryingauthoritative servers for the IP Address information. Typically, thefirst Authoritative DNS queried is at the root level (also referred toas a “root DNS”) to begin the process of locating the Authoritative DNSserver for the requested hostname/domain name. The root DNS serverscontain a list (mapping) of which top-level domains exist, and the IPAddresses of the Authoritative DNS servers for each domain (example:.com). Once the caching/recursive server knows the IP Address of thetop-level domain server, it contacts it directly to query about thehostname/domain name that it is looking for. The top-level domain serverwill respond to the query with a pointer to the second-level DNS serversthat are authoritative for that domain, if it exists. Thecaching/recursive DNS server then queries the second-level DNS serverthat is authoritative for that domain for the IP Address of thehostname/domain name it is looking for, and if it exists, the serverwill respond with one or more valid IP Addresses to the request. If atany time an Authoritative server in the resolution path determines thatthe requested hostname/domain name does not exist, that AuthoritativeDNS informs the caching/recursive DNS server that the requestedinformation does not exist, and this result is typically passed back tothe user's browser. If the requested IP Address exists for thehostname/domain name, the caching DNS server then passes the IP Addressdown to the user's browser, and a connection is made between the twocomputers.

Use of IP Addresses as the common mode of identification of the variouscomputers on the Internet provides a basic communication system uponwhich multiple different types of communication protocols can belayered. For example, communication protocols such as TCP, UDP, HTTP,HTTPS, and FTP can be used to specify transfer of certain informationfrom one computer to another, where those computers are linked to eachother based on their respective IP Addresses. Because the Internet IProuting infrastructure deals only with IP Addresses, the main functionof a DNS server is to translate a hostname into an IP Address. Oneresult of the layering effect and the function of DNS servers is that aDNS server does not know the type of higher-layer protocol used in anyparticular communication. Rather, it merely searches for a hostnamewithin the communication it receives, and converts the hostname into anIP Address.

For example, if a user were to type in hypertext transferprotocol-colon-doubleslash-www-dot-paxfire-dot-com-slash-index-dot-html, the DNS server wouldreceive only the hostname part of the URL: www-dot-paxfire-dot-com. Itsjob is to turn that hostname into a valid IP Address, and provide thatIP Address to the requesting computer. Once that IP Address were known,the requesting computer would initiate a TCP connection and use the HTTPprotocol in that connection with the Paxfire computer at the IP Addresssupplied, and request the file index.html. Likewise, if a user were totype in file transfer protocol-colon-doubleslash-www-dot-paxfire-dot-com-slash-index-dot-html, the DNS server wouldstill only receive the hostname www.paxfire.com and attempt to obtain avalid IP Address, and provide that IP Address to the requestingcomputer. Once that IP Address were known, the requesting computer wouldinitiate an FTP connection with the Paxfire computer at the IP Addresssupplied, and request the file index.html.

While the IP Address protocol system of the Internet provides a uniformprotocol for connecting computers on the Internet, because DNS serversonly receive hostnames to translate into IP Addresses, they cannotsegregate communication requests based on the identity of higher-levelprotocols desired. Thus, the common implementation of DNS does notprovide the ability to control traffic based on type of higher-levelprotocol being used. This shortcoming results in mis-communications andlost time, effort, and money.

Thus, there exists a need in the art for systems and methods foridentifying, determining, or predicting the type of higher-levelprotocol being used in a particular Internet communication, and usingthis information to control communication traffic.

SUMMARY OF THE INVENTION

The present invention provides systems and methods that identify orpredict communication protocols associated with Internet communications,and control the movement of those Internet communications based on theparticular protocol associated with each communication. The systems andmethods can be implemented at any point in a communication pathway, butare preferably implemented, at least in part, at one or more pointsbetween an Internet user (whether that user be a person or machine) anda DNS server, or on a DNS server. The systems and methods can be usedfor any suitable purpose, including, but not limited to, providingefficient and effective communication traffic control services, such asredirection of Internet communications based on pre-defined bit strings.

Integrated systems implementing the methods of the invention arereferred to herein at points as an Internet appliance, and unlessotherwise specified such a term should be interpreted as referring tothe systems, methods, or both, of the invention. The term Internetappliance should not be understood to be limited to uses over theInternet, per se, but should be understood to include all communicationsover communication systems, including, but not limited to, telephony.

Furthermore, the terms “user”, “computer”, and “subscriber” are used toidentify three general tiers or levels of interaction within the systemsof the invention. As used herein, a user is a particular person using acommunication device, such as a computer or telephone. A computeraccording to the invention is any device that can be used by a user tocommunicate over a network. For example, a computer can be a personalcomputer, which may serve multiple users within one office or home.Likewise, a computer may be a telephone, which also may serve multipleusers within one office or home. As used herein, a subscriber is acommunication device that interacts with and/or controls traffic withinone or more communications networks. For example, a subscriber may be arouter that connects one or more computers to a network, such as onemanaged by an ISP. Unless otherwise defined below for a particularpurpose, these general definitions are to be applied.

In one aspect, the invention provides an Internet appliance formonitoring and controlling communication traffic. Monitoring ofcommunication traffic can occur in any network, including but notlimited to, a computer network (e.g., the Internet) and a telephonenetwork. For ease of description, the present invention is describedpredominantly with regard to computer networks, and in particular withregard to the Internet. However, it is to be understood that eachreference to a particular computer system for use in Internetcommunications can have a corresponding system in other communicationareas, including, but not necessarily limited to telephony. Thus,references to Internet systems are to be understood to be expansive, andto include the corresponding systems, devices, communication routes,etc. of other communication areas.

At its basic level, the Internet appliance provides an automated systemand method for monitoring communication traffic between a computer andother computers on the Internet. In general, the Internet appliancedetermines or predicts the higher-level communication protocol that thecomputer (typically via the user) wishes to use for a particularcommunication, and controls the communication between the user and theInternet based on the type of protocol to be used. Using various rulesand databases, the systems and methods of the invention permit thoseimplementing the Internet appliance of the invention to screen forcertain types of higher-level protocols associated with communicationtraffic, and either modify the communication traffic (for example, byredirecting it) or permit the traffic to pass unmodified. Inembodiments, it can also look at the size of a DNS query (total lengthand/or number of labels) as well as the frequency of a single hostnameor domain name to determine whether to redirect the query or not. Thesize (total length) of the query may indicate that an automated programconstructed the query, and thus it might not be desirable to redirectthe query. One advantage provided by embodiments of the invention is theability to redirect only certain types of Internet traffic, based onpre-defined characteristics of the traffic.

In another aspect, the invention provides an Internet appliance forconducting business over a communications system or network.Accordingly, the invention provides a method of conducting businessusing computers. The systems and methods include monitoringcommunications between a user or computer at a point of origin and atleast one other computer on the Internet, controlling at least some ofthose communications by redirecting them to sites other than originallyrequested by the user or computer at the point of origin, and generatingrevenue by that redirection. Typically, revenue is generated throughsale of advertising, which is provided to the user or computer when acommunication is redirected, although it can be generated simply throughfees charged for providing the service.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a block diagram showing one embodiment of the methods andsystems of the invention, in which only certain HTTP protocol traffic isredirected.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

Reference will now be made in detail to various exemplary embodiments ofthe invention, an example of which is illustrated in the accompanyingdrawing. The following detailed description describes certainembodiments of the invention, and should not be considered as limitingthe invention to those embodiments.

The Internet provides a user a quick and accurate direction to aparticular web site or web page if the user knows the exact web site orweb page address, either through its IP Address or through itshostname/domain name. It is now exceedingly rare for a user to know theactual IP Address of a web site or web page of interest. Instead, thevast majority of Internet users initiate communication sessions by wayof hostnames entered into the Internet browser residing on the user'scomputer. A significant number of the total attempted communicationsessions initially fail due to errors in entering the hostname into thebrowser. These failures are returned by the Internet infrastructure asunresolvable, and are typically handled by simple notification of theuser that an error occurred or by redirection of the user to a landingpage at an IP Address supplied by the user's browser or by an externalsystem capable of supplying an IP Address for redirection (e.g., anInternet appliance according to U.S. Patent Application Publication No.2005/0105513 or published international application PCT/US2005/015381;the entire disclosures of both of which are incorporated herein byreference). In general, when a user is redirected to a landing page, thepage includes information that might or might not be relevant to theuser's query (or intended query), along with one or more advertisements,which might or might not be relevant to the query (or intended query).

Redirecting a user who submitted an unresolvable query to a landing pagethat provides content-relevant information can be preferable to merelyproviding an error notice or providing a landing page withcontent-irrelevant information. Systems for providing content-relevantinformation, such as those provided by Paxfire, Inc. (Herndon, Va.,USA), are known and can be quite effective at identifying appropriatetraffic for redirection. However, some systems do not discern betweendifferent types of protocol traffic (e.g., HTTP traffic, FTP traffic,SMTP traffic), and thus redirect all queries that return an error fromthe Internet infrastructure. Depending on the hosts for the redirectionservices (e.g., ISP) and/or the advertisers or advertising contentproviders supplying ads for the redirection landing page, certain typesof traffic are unwanted for redirection. For example, Internet usersattempting to use the FTP protocol to transfer a file from a computer onthe Internet to their own computer (or vice versa) are typically notusing the Internet to obtain information that relates to purchases ofgoods or services. Typically, programs that use non-HTTP protocols suchas FTP are “command line” based and don't have the capability to displayadvertising content in their application, nor do end users expect thistype of behavior from non-HTTP applications. In the same way, companiesor individuals providing redirection services (e.g., a “secondaryservice provider”) would prefer not to tie up resources in processingsuch non-HTTP requests in response to malformed queries.

The present invention provides a system and method for identifyingunwanted or undesirable traffic for redirection, by determining thehigher-level protocol that may be used during IP communications based onthe contents of a DNS response message. Using the present system andmethod, ISPs, secondary service providers, advertising contentproviders, advertisers, and other entities employing the system andmethod can screen traffic prior to redirecting queries to a landingpage, and eliminate unwanted traffic based on the commonly used hostnamenaming conventions and redirected feedback, thus providing redirectlanding pages for only those queries that are associated with theappropriate higher-level protocol(s). For example, the system and methodcan analyze queries and/or responses from the Internet infrastructurefor communications associated with the HTTP protocol, and redirect onlythose queries or responses to a redirect landing page withcontent-relevant information, allowing all traffic associated with otherprotocols (e.g., SMTP, FTP) to pass between the user to the Internetunmodified (or redirected to a landing page containing differentinformation than that which would be provided for HTTP traffic). Thesystem and method of the present invention reduce the number ofinappropriate redirects. It thus reduces the amount of resources used byentities providing redirection services and reduces the amount ofunnecessary traffic in the Internet. Thus, employing the system andmethod of the present invention not only reduces costs incurred by thoseproviding redirection services and those providing network services, butimproves the service provided to Internet users. It improves the use ofresources by entities involved in providing redirection services andcontent, and thus allows for increased revenues or lower expenses forthese entities.

The present invention offers a solution to inefficiencies associatedwith redirection of queries by users or responses to queries returned bythe Internet infrastructure, and doing business through computers andthe Internet. The solution includes an Internet appliance formonitoring, analyzing, and/or controlling communication traffic, and forproviding information, including information useful for conductingbusiness, to redirect operators based on the type of higher-levelprotocol being used, or intended to be used, in a communication. Thesystem and method according to the present invention are suitable foruse in any computer-driven communications system, such as Internetsystems. In preferred embodiments, they are implemented, at least inpart, at the ISP level of the Internet architecture, and particularlybetween the user (or a user's computer) and the ISP DNS server.

In a first aspect, the invention provides a system and method formonitoring, analyzing, and/or redirecting communication traffic. Inembodiments, the invention relates to Internet communication traffic.The system and method are implemented, at least in part, by way of anInternet appliance that sits at the ISP level of the Internetarchitecture and analyzes and optionally monitors communication betweenusers or computers and other users or computers on the Internet.Monitoring and analyzing are performed upon receipt of communicationsfrom a user or his computer, upon receipt from the Internetinfrastructure of communications relating to a communication from a useror his computer, or both. In general, the method comprises analyzing acommunication from a point of origin on the Internet, and redirectingthe communication to a landing page if a pre-defined error condition isencountered and a higher level protocol can be inferred. A suitableInternet appliance is that disclosed in U.S. Patent ApplicationPublication No. 2005/0105513 and published international applicationPCT/US2005/015381.

The system and method of the invention rely to some extent on the factthat many administrators of computers on the Internet use namingconventions for their hostnames (i.e., computer names). For example,computers that run web servers are often given a name www (for worldwide web). Another example is that servers that primarily serve as FileTransfer Protocol (FTP) servers are given the hostname of ftp. Thecomplete name of a server is constructed as having a host name plus thedomain name appended to it which is then called the Fully QualifiedDomain Name (FQDN) and is represented in the following fashion:www-dot-paxfire-dot-com. For the purposes of this document, “FQDN” isused interchangeably with “hostname”. This present invention takesadvantage of the fact that hostnames follow naming conventions. Usingthe present system and method, an Internet appliance, such as theInternet appliance provided by Paxfire, Inc. (Herndon, Va.) can behighly discriminating in its selection of specific queries that itredirects to a results server (i.e., landing page server). For example,according to the present invention, the Internet appliance can beconfigured to redirect only those users that have asked for a hostnamethat begins with www and whose query results in a DNS error. This wouldhappen when, for example, a user makes a mistake in the spelling of anypart of the FQDN and the DNS infrastructure determines that thishostname does not exist.

As discussed above, the method comprises analyzing a communication froma point of origin on the Internet. The point of origin may be a user(through use of his computer), or a computer (running autonomously).Where the point of origin is a computer, the computer can be manuallycontrolled by a user at the time of initiation of the communication, orcan be automatically running, without real-time interaction of a user.Thus, a computer can be, for example, a personal computer of a user; ahome or business internal server; a hub, switch, or router; or a web orDNS server. In embodiments, the computer is a machine that has beenprogrammed to automatically initiate communications on the Internet(i.e., a “robot”). Accordingly, the communication that is analyzed canoriginate with a particular user or with a computer on the Internet,whether or not that computer on the Internet is responding to acommunication from the user, his computer, or any other computer(s) onthe Internet.

The act of analyzing can comprise receiving a communication from a user,through use of his computer. It also can comprise receiving acommunication from another computer on the Internet, either as anautomated communication or as a communication manually provided by auser of that computer. In embodiments, it comprises receiving acommunication from both. As a general matter, analyzing comprisesreading at least part of a query, such as at least part or all of theFQDN, and determining if the information read contains one or morepre-defined character sets or bit strings. In preferred embodiments, bitstrings are analyzed, although the process is similar for treatment ofcharacter sets. The pre-defined bit strings can be any bit strings.Thus, they can be strings that relate to one or more particular websites or web pages, that relate to particular words or phrases, or thatrelate to particular common typographical mistakes for one or more websites. In embodiments, the bit strings contain information relating toor predictive of a higher-level protocol (i.e., a protocol fortransmission of information over the Internet, which is not simply an IPAddress). Examples of such higher-level protocols include, but are notnecessarily limited to, HTTP, HTTPS, SMTP, and FTP. In some embodiments,the information can be the particular higher-level protocol of interest.In other embodiments, the information can be indicative or predictive ofthe higher level protocol of interest (e.g., “www” is indicative of thedesire to use the HTTP protocol).

The method further comprises directing the user, computer, or subscriberto an IP Address specific for a landing page if a pre-defined bit stringis encountered. For example, if an error message is returned from theInternet infrastructure, an Internet appliance according to theinvention can provide the user who submitted the original (erroneous)query with an IP Address of a results server that can generate a landingpage containing content relevant results, typically includingadvertising content.

The method yet further comprises analyzing a request from a user for aconnection to a computer at the IP Address provided. This analysis canbe performed by any number of hardware/software combinations, and inembodiments, is performed by a service profiler, a firewall, a loadbalancer, or a combination of two or all three of these. The request isanalyzed for the communication protocol being used, or intended to beused. At this step, only requests containing certain pre-definedcommunication protocols are permitted to connect to the results serverproviding the landing page. All other requests result in generation ofan appropriate error message, which is returned to the user and/or theapplication. Communication protocols associated with requests areidentified based on character sets or bit strings. The protocols can beany protocols, but are typically higher-level protocols. According tothe invention, a single protocol may be targeted for redirection, or twoor more protocols may be targeted for redirection. Communicationsassociated with all other, non-target protocols will not be redirected.For example, to improve the efficiency of advertisement placement onlanding pages created in response to malformed queries, the systems andmethods of the invention can be employed. In doing so, the methods canidentify all Internet traffic that is not associated with the HTTPprotocol, and mark it as traffic that is not to be directed to aredirect landing page. In this way, only traffic that is associated withthe HTTP protocol, which is highly likely to be requests for informationthat is relevant to products or services offered by merchants and isbeing initiated by a human user (vs. an automated program runningwithout human interaction), will be redirected to a landing page ifcertain criteria are met (e.g., other character sets or bit strings areencountered). Landing pages are not created in response tocommunications associated with higher-level protocols other than HTTP,such as e-mails (SMTP traffic). Instead, appropriate responses arereturned to the user (e.g., a response code is sent to the initiatingmail server, informing it that the requested service (an e-mailconnection) is not available). In essence, an Internet appliance isprogrammed to recognize communications associated with the variousavailable higher-level protocols, and sort among those protocols toeither provide redirection services or not to provide redirectionservices. The various “yes” or “no” states for each protocol can bedefined by each entity implementing the systems and methods of theinvention, and can be altered over time to suit the needs and desires ofthe entity.

Analysis of whether to redirect at the appliance level can be based on acombination of multiple types of information in IP communications, suchas, for example, the frequency, amount, and content of DNS requestsgenerated by an IP address. For example, a mail server that serves alarge number of business users will perform a large number of DNSrequests for MX records from many domains during the business day. Inthis instance, the Internet appliance may determine that this IP addressis a mail server and will dynamically modify its configuration to neverredirect that IP address.

Analysis can also be done on the traffic redirected to the landing pagelocation. The landing page location receives more information than theInternet appliance to determine the actual higher layer protocoldesired. For originating UDP and TCP traffic, the port number isreceived, which usually indicates the application in use. If the requestis HTTP, the landing page server also receives the whole URL. With thisadditional information, the landing page location can process both HTTPand non-HTTP traffic for the purpose of creating data that can be pushedback to the Internet appliance to make it more accurate in itsoperation. This feed-back loop provides certain advantages, as indicatedherein, for embodiments of the systems and methods of the invention.

In preferred embodiments, the method further comprises communicating tothe Internet appliance the computer IP Addresses of computers that havemade requests that include one or more pre-defined bit strings orcharacter sets that are not of interest to the entity implementing thesystem and method of the invention. For example, if an entityimplementing the invention is interested in providing landing pages foronly those request that are associated with the HTTP protocol, the IPAddresses of all requesters attempting to connect to the landing pageusing FTP or SMTP protocols will be communicated to the Internetappliance. In this way, the Internet appliance can dynamically “learn”IP Addresses and hostnames/domain names that are typically associatedwith protocols that are not of interest to the entity implementing thepresent system, and not analyze or redirect communications from and tothat IP Address or hostname/domain name.

Typically, the communicating is initiated by the component of the system(e.g., processor, computer) that performed the analysis for higher-levelprotocol. For example, it can be a service profiler, a firewall, a loadbalancer, or a combination of two or more of these.

The method of the invention can further comprise monitoringcommunication traffic. Monitoring comprises detecting communication oran attempted communication between a user, a computer, or a subscriberand one or more computers on the Internet, and vice versa. In general,monitoring involves receiving information relating to the point oforigin of a communication and about the computer or IP address of acomputer to which the user or computer at the point of origin desires tocontact. Monitoring thus can be an activity that is part of analysis.Monitoring may also be part of an ancillary procedure for identifyingparticular users, computers, or subscribers (typically by way of an IPAddress) that show a particular type of activity. For example,monitoring can be used to identify IP Addresses that repeatedly initiatecertain types of communication sessions or repeatedly request invalidhostnames. Monitoring can occur at the time of initial communicationbetween the computer at the point of origin and another computer. Inembodiments, monitoring can continue throughout the communicationsession. It can also occur at two or more short, discrete intervalsduring the communication session.

At its basic level, an Internet appliance according to the presentinvention provides an automated system and method for analyzingcommunication traffic between a user or computer at a point of originand another computer on the Internet. It is particularly well suited foranalysis of communications containing unresolvable, unwanted, orerroneous queries. By analyzing this information, the Internet applianceof the invention can determine if an unresolvable, unwanted, orerroneous query was submitted by a user, computer, or subscriber, or ifan error message was returned to the user, computer, or subscriber inresponse to the query. This information is used to decide whether toredirect a particular user/computer/subscriber to a redirect landingpage. One or more other components of the system then provide furtherrefinement of the redirect system by analyzing the communicationprotocol to be used in the communication, and either passing thecommunication on to the landing page (when the appropriate protocol isused) or returning the communication with an appropriate error message.

Methods and systems for analyzing and redirecting communication trafficare known in the art, and any suitable method and/or system can be used.Preferably, a method and/or system as disclosed in U.S. PatentApplication Publication No. 2005/0105513 or published internationalapplication PCT/US2005/015381, including an Internet appliance disclosedtherein, is used.

In addition to the Internet appliance, the system of the invention cancomprise one or more other processors or computers. In a preferredembodiment, the system further comprises a processor that creates alanding page for redirected communications. As used herein, thisprocessor is variously referred to as a landing page server and aresults server. The results server creates, preferably dynamically,landing pages that contain information, preferably content-relevantinformation, based on the original communication(s). The landing page,in embodiments, contains advertisements, search results, a search bar,other information, or a combination of two or more of these.

The system may further comprise one or more other processors, which maybe used in a secondary level of control of certain communications. Onesuch processor is referred to generally in this document as a firewallor load balancer, It is understood that in the art these two terms areoften used to denote two different processors/pieces of hardware withina system. For ease of reference, as used herein, the terms are usedinterchangeably to denote one or both of these types of hardware and thesoftware contained on them. In addition to the typical functionsperformed by the firewall or load balancer, it may function according tothe present invention to further screen for desirable communicationtraffic for redirection. The firewall or load balancer can be configuredto analyze redirected traffic from the Internet appliance, to identifytraffic that has been redirected, but that does not truly qualify astraffic of interest to the entity controlling the system.

For example, the Internet appliance can be configured to analyze alltraffic passing through an ISP, identify traffic of interest (e.g.,unresolvable queries or queries for a hostname of a particular website), and redirect that traffic to a results server for display of alanding page containing content-relevant information, includingadvertisements, if a pre-defined bit string is communicated by a user ina query or from the Internet infrastructure in response to the query. Incertain embodiments, the pre-defined bit string can be one that isindicative or predictive of a particular communication protocol (e.g.,HTTP). The Internet appliance might identify such traffic by recognitionof a “www” character string (or bit string representing thesecharacters) within the FQDN. The query or response would be redirectedto the results server by the Internet appliance by supplying the IPAddress of the results server to the user's browser. However, thenetwork device (e.g., firewall or load balancer) could be interposedbetween the user and the results server, and it will look at theprotocol content to determine if this is port 80 (HTTP) traffic. If theport number is 80, the user would be directed to the results server. Anyother port number would cause the firewall to direct the user to aprocessor referred to herein as a service profiler, which would providean alternative result, such as a message that the user has provided aninvalid hostname or reached an invalid destination, and should confirmthe hostname and protocol desired or another protocol-appropriateresponse (e.g., TCP reset). In certain embodiments, the service profilerprovides the analysis function.

As another example, redirection may be based, at least in part, ondetermination of the Session Initiation Protocol (SIP). A user desiringto make a SIP voice call to another could accidentally type in the wronghostname they desire to reach—for example,user-at-sip-dot-nonexistentdomain-dot-com. When a DNS query is initiatedby the user, the Internet appliance detects the DNS NXDOMAIN responseand inspects the hostname desired. Upon seeing that it starts with“sip”, the appliance assumes the SIP protocol and voice communication isdesired. The Internet appliance could then redirect the user to theequivalent of an Internet based directory service application (theequivalent of 411 in the telephony network) to help the user find thedesired destination.

Another non-limiting example of redirection is the redirection of emailerror traffic. In such a scenario, a user could make a mistake inaddressing an email message such as user-at-nonexistentdomain-dot-com.The Internet appliance could redirect that mail server trying to deliverthe message to another specialized mail server instead of allowing a DNSerror back to the initiating mail server. The initiating mail serverthen connects to the special mail server and exchanges data, on piece ofwhich is the initiating user's email address. After communicationbetween the servers has ended, the specialized email server couldinitiate an email to the user which contained any type of information.

Another non-limiting example is one relating to redirecting validhostnames (non error) that use the HTTP protocol, and can be understoodin the context of an anti-phishing protection service. In this scenario,an offline system compiles a list of host/domain names of phishing sitesand propagates that list to an Internet appliance. When the appliancedetects a DNS query in that list, it can redirect the user to a speciallanding page. This page can analyze the requested URL and decide whetherto block the request, warn the user that they may be attempting toconnect to a phishing site, or let the request proceed.

As should be evident, another processor that may be included in thesystem of the invention is referred to generally in this document as aservice profiler. The main, but not necessarily sole, purpose of theservice profiler is to provide information to users, computers, andsubscribers that queries they have submitted to the Internetinfrastructure do not correspond to a valid destination or containinconsistent hostname/protocol indications. Where the service profileris the component that provides an analysis function, the serviceprofiler can also route requests for connections to the requestedlanding page either to the landing page or to another landing page,which can contain a response to the query that informs the user that thequery was improper. In embodiments, the service profiler is a separateprocessor from one, some, or all of the other processors of the system.In other embodiments, the service profiler is the same processor, orcontained on the same piece of hardware, as one or more other processorsof the system.

A second purpose of the service profiler is to record attempts by users,computers, and/or subscribers to use a protocol not supported by aparticular computer at a hostname. This can be accomplished by recordingthe IP Address, port number, and date/time of the communication. Thisinformation can be communicated to the Internet appliance of the system.The Internet appliance can then log the IP Address, date/time, andhostname of every DNS response it redirects as well. Using the IPAddress and date/time from the service profiler, the Internet appliancecan determine the hostname to which an attempt was made to connect usinga different protocol (i.e., a protocol that did not match the protocolsupported by the hostname computer), and keep track for that hostname ofthe number of times the hostname resulted in a redirect even though theproper protocol was not used. The information recorded can be maintainedin a flat file, a database, or the like.

With the feedback from the service profiler, the Internet appliance candynamically modify its rules for determining whether to redirect aspecific DNS message or not. For example, if there was a host calledops-dot-paxfire-dot-com that was an FTP server, but a user misspelledthe domain name so that the host on which a DNS lookup was performed wasops-dot-paxfires-dot-com (which doesn't exist), the Internet appliancecould keep track of that specific host name and even though a DNS errorwas encountered, it could decide not to redirect the requesting computerto the results server because it has “learned” via feedback that thishost is a FTP server and not a HTTP server. In view of the fact that themethods of conducting business disclosed herein and known in the art cangenerate revenue from redirection of certain types of traffic, and inparticular high levels of revenue from HTTP traffic, it can beadvantageous if the Internet appliance did not redirect DNS queries forthis hostname to the results server.

Of course, the system may further comprise any number of otherprocessors, computers, servers, etc. to provide additional services orredundancy. For example, it can comprise one or more firewalls, one ormore load balancers, one or more back-up servers, and the like. Thenumber and identity of these additional pieces of hardware, and the typeof software running on them can be selected with ease by those of skillin the art based on the particular needs or desires at the time.

Among the many advantages provided by embodiments of the present systemand method, in some embodiments, they provide the ability to determineif an automated query system (e.g., a robot) is searching or attemptingto connect to a particular computer. Determining can be based on anynumber of factors, including the robot using an invalid hostname orinconsistent hostname and protocol. Other non-limiting examples includeidentifying use of valid hostnames (which have been pre-defined as namesfor redirection) or combinations of valid and invalid hostnames whichare either repeatedly requested or requested at a high frequency (e.g.,the same hostname repeatedly requested in a short period of time, ormultiple invalid hostnames requested in a short period of time). As ageneral matter, determination of queries initiated by robots can bebased on any number of factors, but is often based on the frequency ofrequests made and the frequency of variations in hostnames requested.That is, the system and method of the invention can be designed toidentify frequencies of requests that are too high for a human topossibly have manually made, at which point an assumption or conclusionis made that the requests from that particular IP address are being madeby a robot. Redirection of requests from those IP addresses is “learned”to be of little value, and once that determination is made, the systemsand methods do not redirect from that IP address. Optionally andpreferably, such searches and attempts are not subjected to redirection.

The system and method also provide, in embodiments, the ability tofilter communications at the Internet appliance of the invention. Inessence, the Internet appliance can perform “hostname analysis” bylooking at communications for bit strings or character sets indicativeof higher-level protocols that are not of interest to the entity usingthe system and method, and taking no action on those communications.Furthermore, in embodiments, the efficiency of a redirection system canbe improved by the present system and method by providing an Internetappliance with a set of definitions, which may be updated and which maybe supplied by a service profiler, identifying hostnames or othercharacter sets or bit strings that should or, more preferably, shouldnot be subjected to redirection. Rules can be applied at the Internetappliance and/or service profiler to create one or more lists at theInternet appliance to determine what traffic is to be subjected toredirection and what traffic is not. In embodiments, the rules relate toredirection of HTTP traffic only.

As should be evident, the present invention provides a computer systemfor redirecting Internet communications, where the system comprises: aprocessor that receives information from a computer at a point oforigin; optionally, a processor that analyzes the information for one ormore pre-defined bit strings or character sets; a processor thatreceives return information from a computer that communicates with othercomputers on the Internet; a processor that analyzes the returninformation for said one or more pre-defined bit strings or charactersets; optionally, a processor that a) supplies one or more IP Addressesfor the information requested if one or more of the pre-defined bitstrings or character sets are not encountered, b) supplies one or moresecond IP Addresses for the information requested if one or moredifferent bit strings or character sets are encountered, c) supplies oneor more third IP Addresses if one or more of the pre-defined bit stringsor character sets are encountered and a higher level protocol can beinferred, and/or d) allows the traffic to flow thru unmodified; and aprocessor that analyzes a request submitted to the different IP Addressfor one or more alternative bit strings or character sets, wherein thealternative bit strings or character sets are indicative of a particularhigher level Internet communication protocol. While not necessarilylimited as such, typically the high-level Internet protocol is HTTP,HTTPS, SMTP, FTP, SSH, Telnet, or other protocol above IP, or two ormore of these. In certain situations, the alternative bit strings orcharacter sets relate to a request to communicate via a particular portnumber. In addition, in embodiments, the information from a computer ata point of origin is a DNS query and the pre-defined bit strings orcharacter sets relate to a hostname. Of course, in embodiments, thesystem can comprise the computer at the point of origin. Lookingspecifically at processors, in embodiments, the system can comprise aprocessor that receives a request to connect to a computer at the IPAddress, a processor that analyzes the request for pre-defined bitstrings or character sets that are indicative of a particular Internetcommunication protocol, or both (including situations where they are thesame processor). In certain embodiments, the system comprises aprocessor at the IP Address, where the processor generates a landingpage containing information that is relevant to the content of theinformation sent from the point of origin. Of course, the system cancomprise a processor at the different IP Address.

Many variations and additional optional features may be included in thesystem of the invention. For example, the system may comprisemaintaining a list of bit strings or character sets for which adifferent IP Address should not be supplied, for example wherein itemsfor the list are generated by the processor that analyzes a requestsubmitted to said different IP Address. The list can be maintained by aprocessor that transparently passes DNS responses if one or moreconditions or pre-defined bit strings or character sets are notencountered, and that supplies a different IP Address if one or more ofthe conditions or pre-defined bit strings or character sets areencountered. The system can also comprise updating the list at one ormore times after creation of the list. For example, the list can beupdated based on monitoring of requests for: originating IP Address,requested hostname, size of a DNS query, frequency of a single hostnameor domain name, port number, date, and/or time, among other things. Inembodiments, a list is maintained on a computer that analyzes one ormore requests submitted to the different IP Address and a list ismaintained on a computer that analyzes the request(s) submitted to thedifferent IP Address, where the two lists are compared to identifyentries in common or not in common. In some embodiments, a list ismaintained on a webserver, and at least two lists are compared toidentify entries in common or not in common. The system can be used foranalysis and monitoring of Internet traffic and can be operated tooptimize it for various parameters of the user's choosing. The systemcan also be operated to build an effective set of rules for redirectionof Internet traffic.

In yet another aspect, the invention provides a system and method, whichinclude an Internet appliance, for conducting business over acommunications system. Accordingly, the invention provides a method ofconducting business using computers. The systems and methods includeanalyzing communications over the Internet and redirected somecommunications to a landing page that contains, possibly among otherthings, advertisements. Various exemplary business purposes aredescribed in U.S. published patent applications 2005/0105513 and2005/0027882, which are incorporated herein by reference, and any ofthose are suitable business methods according to the present invention.

The method of doing business can comprise directing communicationtraffic to a suitable application server, such as one that can generatea landing page comprising information that is relevant to the originalquery, and charging a provider of the relevant information a fee forinclusion of the information in the landing page. In embodiments, themethod is a method of ad targeting using the Internet. In preferredembodiments, the method is implemented, at least in part, before or atthe ISP level of the Internet architecture. The method of doing businessusing a computer includes methods in which the query comprises one ormore character sets or bit strings indicative of a higher-levelprotocol. The system and method of the invention improve the process ofredirecting traffic to landing pages by fine-tuning the type of trafficbeing redirected, such that only a subset of traffic that wouldotherwise be redirected, for example based on unresolvable queries, isin fact redirected. This fine-tuning reduces the number of redirectionson unwanted traffic of interest, and thus reduces the amount ofresources expended by those implementing the system and method, such asISPs, content providers, advertising content providers, and advertisers.

One facet of the method of doing business includes the ability of an ISPto generate new clients, and thus new business. More specifically, inproviding the services made available by the present invention, an ISPcan attract new business and new revenue by making it more attractive toa user than another ISP. This activity increases the subscribership ofthe ISP, and generates increased revenue for the ISP. Furthermore, anISP or other organization implementing the present invention can selladvertising space on landing pages that it generates. This advertisingspace represents revenue that is generated by implementing the systems,methods, and appliances of the present invention.

Likewise, the method of doing business includes the ability of a searchcontent provider to increase its revenue. By lessening the resourcerequirements for search content providers (for example by reducingprocessing of queries relating to non-human HTTP traffic), the costs ofdoing business for the search content providers is reduced. Accordingly,capital outlays for hardware and software, recurring charges forservice, maintenance, and infrastructure, and costs for electricity arereduced. Furthermore, capital outlays for personnel can be reduced dueto the reduced load on the content service provider. In addition, searchcontent providers can generate revenue by implementing or becoming apart of the system and method of the invention.

There are multiple entities that can generate revenue from use of thesystem and method of the present invention. Initially, advertisersgenerate revenue through sales of services and products to Internetusers who find their advertisements on landing pages generated as aresult of the present systems and methods. Advertising content providersgenerate revenue, typically as a percentage of sales generated byadvertisers using the content provider's services, as a result ofInternet users making purchases from the advertisers. Entities otherthan ISPs that implement the system and method of the invention (e.g., asecondary service providers) generate revenue in multiple ways. First,they can generate revenue through charging ISP to use their DNS and/orInternet appliance services. Second, they can generate revenue throughfee sharing with the advertisers or advertising content providers, basedon users' viewing or clicking of ads as well as purchases of goods orservices from advertisers who have advertisements on the redirectlanding pages generated by the secondary service provider's systems. Inembodiments, the ISP may also generate revenue from use of the presentsystems and methods. In those embodiments, the ISP can generate revenuethrough fee sharing with the advertisers, advertising content providers,and/or secondary service providers. Typically, the revenue will be basedon users clicking on or viewing ads by ISP customers. In yet furtherembodiments, the ISP customers may generate revenue through use of thepresent systems and methods. The customers (users) may obtain cash ormonetary credits based on purchase made from advertisers who advertiseon landing pages supplied by the secondary service providers, using thepresent systems and methods.

Other entities that can generate revenue through use of the presentsystems and methods include search content providers (e.g., searchengines), which might provide advertising content as part of a packagewith search results, or independent of search results. Furthermore,financial institutions, such as banks, may generate revenue as asecondary effect of the methods and systems of the present invention, byway of service fees charged to any one or more of the above-mentionedentities, to transfer money from one account to another, or to maintainan account from which money is to be transferred into and out of.

As should be evident, the present invention provides a method ofconducting business using a computer, where the method comprises:analyzing a query submitted from a point of origin or a response to aquery returned from the Internet for pre-defined bit strings orcharacter sets indicative of an error state and/or from which a higherlevel protocol can be inferred; and supplying an IP Address other thanthat returned from a DNS server in the response if one or more of thepre-defined bit strings or character sets is encountered, wherein the IPAddress supplied points to a computer that displays advertisements; andcharging advertisers to display advertisements for their products and/orservices. The method can also comprise analyzing the query or responsefor an error state comprises identifying a character set that isindicative of a malformed query, a keyword, a hotword, or a query forunwanted, unresolvable, or impermissible information. In the method,revenue can be provided to advertisers, advertising content providers,entities implementing the system, or a combination of two or more ofthese. In some embodiments, the method is a method of ad targeting. Inthe method, advertisers can be charged based on the number of units ofgoods or services sold through their advertisements.

The systems and methods of the present invention are implemented by wayof computers and computer programs. The systems comprise one or morecomputers comprising integrated circuits for processing of information(e.g., processors). The systems and methods can be, but are notnecessarily, implemented without the need to install any new hardware orsoftware into ISP networks, and thus are modular, highly adaptable, andeasy and cost-effective to implement. In addition, because the Internetappliance of the invention can be provided partially or entirely assoftware, it can be implemented and maintained (e.g., updated) rapidly,easily, and inexpensively.

Electronic components and connections used in the Internet appliance andother hardware/software components of the system of the invention arethose typically used in the computer industry, as are all otherstructural elements of the systems. In preferred embodiments, theInternet appliance of the invention is implemented with one or more ISPservers. In these embodiments, the various pieces of hardware, software,and functional units of the Internet appliance and other components canreside on many types of ISP servers, on separate hardware from the ISPservers, or partially on the ISP servers and partially on separatehardware. In certain embodiments, the Internet appliance and othercomponents are provided entirely on separate hardware from the ISPservers. The Internet appliance and other components of the inventionand the ISP servers can be physically connected via cables, wires, orthe like. The connection can be direct (i.e., from one to the otherwithout any intervening hardware, except via the connector) or indirect(i.e., through one or more other hardware devices, such as circuitboards, filters, etc.). In other embodiments, the connection is not aphysical connection (e.g., it is a connection via electromagneticenergy, such as infrared signals, radio signals, microwave signals,optical signals, and the like). In certain embodiments, the Internetappliance is implemented directly within the ISP DNS server (e.g., byinsertion of a circuit board into the server). In other embodiments,certain functionalities are implemented directly within the ISPserver(s), while other functionalities are implemented one or more otherphysical components, which are connected, either physically ornon-physically.

One advantageous aspect of certain architectural configurations of thepresent Internet appliance derives from the fact that the Internetappliance and other components are general purpose software engines. Assuch, they can run software modules other than those of the presentinvention to deliver other services at this infrastructure layer. Inaddition, it is to be noted that the system is not limited in the numberof pieces or location of hardware that are depicted and/or discussed inexemplary embodiments, and that other hardware and software may beincluded in different embodiments, such hardware and software beingimplemented for various functions typically performed by computers andInternet trafficking servers.

It is important to note that the Internet appliance and othercomponents, while being implemented through hardware and software, aremade up of functional elements. Thus, each functional unit may exist ona single or multiple different pieces of hardware. Furthermore, eachfunctional unit may be resident on a single or multiple different piecesof hardware, located in the same geographical area or in widelydispersed geographical areas. It is well within the skill of those ofskill in the art to implement different functions on different pieces ofhardware, which are either directly connected or connected through oneor more intervening pieces of hardware. Likewise, although software tocontrol different functionalities that are located on different piecesof hardware, or that exist as multiple copies within the system is partof the present invention, other software that can be implemented tofurther control certain aspects of the methods and systems, which can beimplemented by the operator of the invention based on various desires,can be integrated into the present invention without undue or excessiveexperimentation by one of skill in the art.

Thus, in embodiments, the system of the invention comprises at least oneprocessor that receives communication information from a user, computer,or subscriber; optionally analyzes the information for one or morepre-defined bit strings or character sets; passes the information to aDNS server; receives return information from the DNS server; analyzesthe return information; and either returns the return information to theuser, computer, or subscriber, or returns to the user, computer, orsubscriber an IP Address for a redirect landing page. The system canfurther comprise at least one processor that functions as a firewall,load balancer, and/or service profiler, and which analyzes redirectrequests supplied by the first processor via the user. The secondprocessor receives from the user, computer, or subscriber a request toconnect to an IP Address; analyzes the request for information relatingto port access; and either forwards the request to the computer at therequested IP Address or gracefully terminates the connection. Therequested IP Address typically provides a landing page containingcontent relevant information, including advertising, whereas thealternative IP Address typically contains a “notice” that the originalcommunication contained an error.

As used herein, a processor is any hardware, software, or combination oftwo or more of either or both that can process information within theframework of a computer system. Examples of processors include, but arenot necessarily limited to, central processing units (CPU), circuitboards, chips, software, and the like. Where multiple processors areused, they can be connected in serial or parallel. That is, the multipleprocessors can perform their assigned functions, whether it be afunction provided solely by the processor or a function that isredundant to or shared by other processors, at the same time otherprocessors are performing their assigned functions, or one or moreprocessor can act only after one or more other processor has completedits function.

As is evident from the above disclosure, multiple pieces of hardware andcombinations of hardware and software can be used to implement thesystem of the present invention. Thus, in embodiments, the system cancomprise means for receiving a request for information from the Internetinfrastructure; optional means for analyzing the request for pre-definedbit strings or character sets; means for transmitting the request to theInternet infrastructure, for example by way of a DNS server; means forreceiving return information from the Internet infrastructure, forexample by way of a DNS server; means for analyzing the returninformation for pre-defined bit strings or character sets; and means forreturning to the submitter of the request an IP Address that isdifferent from that requested. In embodiments, the system furthercomprises means for receiving a request for the different IP Address;means for analyzing the request for the different IP Address forpre-defined bit strings or character sets indicative of a particularInternet protocol, and in particular, for HTTP communications via port80; and means for passing the request to the indicated IP Address orgracefully terminating the connection request.

Furthermore, it should be evident that the present invention comprisescomputers, hard drives, memory chips, memory sticks, CDs, DVDs, tapes,and other devices and articles of manufacture that can be used to storecomputer programs to perform the various functions of the system andmethods of the present invention. Those of skill in the art are wellaware of the numerous types of hardware and the numerous types ofsoftware code, and combinations of the two, that can effect thefunctions described herein. Accordingly, they need not be detailed here.

In embodiments, the invention comprises an article of manufacture foruse as a computer program transmission apparatus. The article ofmanufacture comprises: at least one device comprising a substratecapable of storing electronic information that enables a computer toperform at least one function (e.g., a computer disk, removable orstationary), wherein the function comprises a process for analyzingcommunication traffic between a computer at a point of origin and aserver on the Internet, and wherein the process comprises: receiving arequest for information from a point of origin; optionally analyzing theinformation for pre-defined bit strings or character sets; receivingreturn information from the Internet; analyzing the return informationfor pre-defined bit strings or character sets; forwarding to the pointof origin either the requested information or an IP Address specific fora redirection landing page. Alternatively or additionally, the articleof manufacture comprises: at least one device comprising a substratecapable of storing electronic information that enables a computer toperform at least one function (e.g., a computer disk, removable orstationary), wherein the function comprises a process for analyzingcommunication traffic between a first computer at a point of origin anda second computer at a different point of origin, and wherein theprocess comprises: receiving a communication containing a request toconnect to a particular IP Address from the first computer; analyzingthe communication for one or more bit strings or character sets that areindicative of a particular Internet protocol, such as HTTP, includingbut not limited to a port number such as port number 80; eitherforwarding the communication to the requested IP Address if one or moreof the pre-defined bit strings or character sets are found or gracefullyterminate the connection request. In some embodiments, the article ofmanufacture is a program storage device readable by machine, tangiblyembodying a program of instructions executable by the machine. Thearticle of manufacture can, in some embodiments, comprise at least onecomputer hard drive and/or at least one random access memory chip.

Turning now to the FIGURE, which depicts one exemplary embodiment of theinvention, it is shown that an Internet appliance is integrated into anInternet communication pathway at the level of the ISP. In practice, auser submits a query to the Internet infrastructure by way of hisbrowser, resident on his computer. The Internet appliance receives thequery and either analyzes it for one or more pre-defined bit strings orcharacter sets, or passes it through to the DNS server without analysis.The DNS server analyzes the hostname of the query and if it does nothave the answer in its cache, submits it to the Internet infrastructurefor name resolution. Upon return of results for the IP Address request,the Internet appliance analyzes the results for one or more pre-definedbit strings or character sets, such as for an error notice or aparticular host/domain name. If the results do not match pre-defined bitstrings, the results are forwarded on to the user, and a normalconnection is made. If, on the other hand, the query or results containone or more pre-defined bit strings, the user is redirected to an IPAddress pointing to a computer that can generate a landing pagecontaining information, including advertising information. The user,through his browser, then attempts to connect to the computer at theredirect landing page IP Address (i.e., a results server).

The attempted connection is intercepted by a network device(firewall/load balancer/router or like device) interposed between theuser and the results server. The network device analyzes the request forthe presence of a TCP or UDP packet indicating a port number. If theport number is anything but 80, the redirect request is shunted to an IPAddress specific for a service profiler, which then returns an errormessage to the application (or user) to gracefully inform it that thedesired destination is invalid. On the other hand, if the requested portnumber is 80, the firewall passes the redirect request to a resultsserver, which provides a landing page that contains content-relevantinformation.

The network device collects information regarding attempted connectionsto the landing page, processes the information to create a feedback loopof data to the Internet appliance. In particular, it forwards dataregarding IP addresses and host/domain names where the attempts areassociated with undesired communications (e.g., an attempt to use theFTP protocol or an errant application that uses HTTP). The Internetappliance then integrates the information into one or more databasesand/or lists to enable it to better analyze communications upon receiptfrom users, and permit certain communications to pass through withoutredirection, even if those communications contain bit strings that areotherwise pre-defined as bit strings of interest. For example, based oninformation provided by the network device or PSP, the Internetappliance can know that requests originating from a particular IPAddress are typically associated with the FTP protocol. The Internetappliance, when it next receives a communication from that IP Address,will mark the communication as one not to analyze or redirect,regardless of the fact that it might contain one or more pre-defined bitstrings. In this way, the Internet appliance can “learn” not to sendunwanted traffic to the landing page, even if the traffic wouldotherwise appear to be suitable for redirection.

In certain systems for redirecting communications, all communicationsthat involve an error message from the Internet infrastructure areredirected to a landing page. In the system depicted in FIG. 1, when anerror message is encountered as a result of an Internet query, onlyselected traffic is redirected to a redirect landing page. That is, thesystem depicted in FIG. 1 is configured to not redirect all trafficcontaining error messages, but to only redirect that traffic thatcontains bit strings of interest and is assumed or learned to beassociated with the HTTP protocol. The system limits the number ofredirections to actual landing pages by analyzing different elements ofthe communication such as host/domain name, IP address port number,frequency and amount of requests, before a redirection is initiated. Alanding page is created only when DNS queries are encountered that areestimated as being HTTP requests and containing pre-defined bit stringsof interest. Thus resources of the results server, search contentproviders, ad content providers, and advertisers are used only whenconfirmed relevant queries are encountered. Of course, the pre-definedbit strings and protocols can be varied according to the desires ofthose implementing the system, and the combination of error messages andHTTP requests is used in the FIGURE solely for illustrative purposes.

In embodiments, the Internet appliance is loaded with lists of charactersets or bit strings that are pre-defined as either requiring redirection(as in the case of, for example, a request having a known error) or asrequiring no redirection (as in the case of, for example, a requestcoming from an IP Address that typically sends SMTP requests in a systemthat is designed to redirect only HTTP traffic). In this situation,which is not depicted in FIG. 1, the Internet appliance is able toreturn to the user, with or without consulting the Internetinfrastructure via the DNS server, a redirect IP Address for the resultsserver (in the case where redirection is warranted) or permitcommunication between the user and Internet without redirection (in thecase where redirection would otherwise occur if the Internet appliancedid not “know” that the requesting IP Address is typically associatedwith a communication protocol that is not of interest). As such, thisembodiment can improve the speed with which redirection occurs.

One non-limiting example of implementation of the system and method ofthe invention is as follows. When a user at a browser types in anon-existent domain name and the DNS server he uses has an Internetappliance of the invention between the user and the DNS server, theInternet appliance intercepts the DNS error message stating the domaindoesn't exist, and converts the error message to a normal DNS responsepointing to a landing page. The user's personal computer then initiatesan HTTP connection to the landing page generated by the system. Onepiece of information that the web browser sends to the landing page (awebserver) is the hostname that it has been informed that it isconnecting to.

Because a typical webserver serves pages for more than one domain, atypical webserver looks at the hostname parameter to determine whichdomain name the user would like to get web pages from. A webserver usedin accordance with this embodiment of the present invention isconfigured differently than the typical webserver. The webserveraccording to this embodiment of the invention answers any HTTP request,regardless of hostname that the browser sends to the webserver (landingpage). In doing so, it analyzes the request, and if it containsinformation of interest (variously defined by different users), an HTTPredirect message that contains as a parameter the original URL that hadbeen requested. The redirect message tells the user's browser toreconnect back to a webserver of the system, but to use a standardhostname instead of the one initially used. In this way, the user's webbrowser will deliver a cookie for the correct specific domain because itis connecting to the domain that it expects to connect to. The presentsystem, in embodiments, uses cookies to determine if the user opted outof one or more services provided by the system and method. In essence,every time a user connects to the standard hostname (e.g.,somedomain.com), if a cookie is set for that domain in the user'sbrowser, it will be sent as part of the HTTP request constructed by thebrowser. So, the present system, in embodiments, is unique in that itaccepts all incoming HTTP requests, and redirects the user to come backto a standard host/domain name, deliver a cookie, and the original URLthey were looking for. In this way, the system can process the originalrequest.

The foregoing disclosure of the preferred embodiments of the presentinvention has been presented for purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Many variations andmodifications of the embodiments described herein will be apparent toone of ordinary skill in the art in light of the above disclosure. Forexample, the principles of the invention in their broader aspects may beapplied to other network systems such as for telephony. The scope of theinvention is to be defined only by the claims appended hereto, and bytheir equivalents.

Further, in describing representative embodiments of the presentinvention, the specification may have presented the method and/orprocess of the present invention as a particular sequence of steps.However, to the extent that the method or process does not rely on theparticular order of steps set forth herein, the method or process shouldnot be limited to the particular sequence of steps described. As one ofordinary skill in the art would appreciate, other sequences of steps maybe possible. Therefore, the particular order of the steps set forth inthe specification should not be construed as limitations on the claims.In addition, the claims directed to the method and/or process of thepresent invention should not be limited to the performance of theirsteps in the order written, and one skilled in the art can readilyappreciate that the sequences may be varied and still remain within thespirit and scope of the present invention.

1. A computer system for redirecting Internet communications, saidsystem comprising: a processor that receives a communication from acomputer at a point of origin for information on the Internet; aprocessor that analyzes information received from a Domain Name System(DNS) server in response to the communication; a processor that a)forwards to the computer at the point of origin an IP Address for theinformation requested if one or more of first pre-defined bit strings orcharacter sets are not encountered, b) forwards to the computer at thepoint of origin an IP Address for the information requested if one ormore second pre-defined bit strings or character sets are encountered,c) provides to the computer at the point of origin an IP Address for aredirect landing page if: one or more of the first pre-defined bitstrings or character sets are encountered and one or more of the secondpre-defined bit strings or character sets are not encountered; or one ormore of the second pre-defined bit strings or character sets are notencountered and one or more third pre-defined bit strings or charactersets are encountered; and a processor that analyzes a request submittedfrom the computer at the point of origin to said redirect IP Address forone or more alternative bit strings or character sets, wherein thealternative bit strings or character sets are indicative of a particularport number associated with the redirect IP Address request.
 2. Thesystem of claim 1, wherein the first three listed processors are thesame processor.
 3. The system of claim 1, further comprising: aprocessor that builds a redirect landing page at the redirect IPAddress.
 4. The system of claim 3, comprising two or more processorsthat build a redirect landing page.
 5. The system of claim 1, furthercomprising hardware on which a list of bit strings or character sets forwhich a redirect IP Address should not be supplied is maintained.
 6. Thesystem of claim 5, wherein the list is a database maintained on acomputing device that is the same as a computing devices containing oneor more of the processors.
 7. The system of claim 5, wherein the list isupdated one or more times after creation of the list, and wherein thelist is updated based on monitoring of requests for: originating IPAddress, requested hostname, size of a DNS query, frequency of a singlehostname or domain name, port number, date, and/or time.
 8. The systemof claim 1, further comprising hardware on which a list of bit stringsor character sets for which a redirect IP Address should always besupplied is maintained.
 9. The system of claim 8, wherein the list is adatabase maintained on a computing device that is the same as acomputing devices containing one or more of the processors.
 10. Thesystem of claim 8, wherein the list is updated one or more times aftercreation of the list, and wherein the list is updated based onmonitoring of requests for: originating IP Address, requested hostname,size of a DNS query, frequency of a single hostname or domain name, portnumber, date, and/or time.
 11. The system of claim 1, wherein thecommunication from the computer at the point of origin is a DNS queryand the first pre-defined bit strings or character sets relate to anerror message from the DNS.
 12. The system of claim 11, wherein thesecond pre-defined bit strings or character sets are indicative of ahigher level protocol associated with the communication.
 13. The systemof claim 12, wherein the higher-level Internet protocol is HTTP, HTTPS,SMTP, FTP, SSH, Telnet, or other protocol above IP, or two or more ofthese.
 14. The system of claim 1, wherein the processor that analyzes arequest submitted from the computer at the point of origin to saidredirect IP Address for one or more alternative bit strings or charactersets permits the computer at the point of origin to connect to thelanding page server at the IP Address provided only if the redirectrequest is associated with port 80.